package demo09;

import java.awt.*;

public class test02 {

    public static void main(String[] args) {
        MyFrame f1 = new MyFrame(100, 100, 200, 200, Color.blue);
        MyFrame f2 = new MyFrame(300, 100, 200, 200, Color.yellow);
        MyFrame f3 = new MyFrame(100, 300, 200, 200, Color.red);
        MyFrame f4 = new MyFrame(300, 300, 200, 200, Color.MAGENTA);
       /* 自定义一个类MyFrame，并且从Frame类继承
        样MyFrame类就拥有了Frame类的一切属性和方法
        并且MyFrame类还可以自定义属性和方法
        因此使用从Frame类继承而来的自定义类来创建图形窗口比直接使用Frame类来创建图形窗口要灵活
        所以一般使用从Frame类继承而来的自定义类创建图形窗口界面比较好，
        不推荐直接使用Frame类来创建图形窗口界面*/
    }
}

class MyFrame extends Frame {
    //    定义一个静态成员变量id，用来记录创建出来的窗口的数目
    static int id = 0;
//    自定义构成方法，在构造方法体内使用super调用父类Frame的构造方法

    public MyFrame(int x, int y, int w, int h, Color color) {
        super("MyFrame" + (++id));
        /*使用从父类Frame继承而来的方法设置窗体的相关属性*/
        setBackground(color);
        setLayout(null);
        setBounds(x, y, w, h);
        setVisible(true);
    }
}
